package com.mayisoftware.mayioa.business.statistic.api.service;

import com.mayisoftware.mayioa.business.statistic.api.domain.StatisDate;
import com.mayisoftware.mayioa.business.statistic.api.domain.StatisDept;
import com.mayisoftware.mayioa.business.statistic.api.domain.StatisType;

import java.util.List;
import java.util.Map;

/**
 * 统计服务接口
 */
public interface IStatisticService {
    /**
     * 根据类型统计
     */
    List<StatisType> queryStatisByType();

    /**
     * 根据部门统计
     */
    List<StatisDept> queryStatisByDept();

    /**
     * 根据日期统计
     */
    List<StatisDate> queryStatisByDate();

    /**
     * 根据区域统计骨干数量
     */
    List<Map> selectStatisByRegion();

    /**
     * 从数据字典获取城市经纬度
     */
    public Map getGeoCoordMap();

    /**
     * 按部门类型进行统计
     */
    public List<StatisDept> countStatisByDeptType(String deptType);


    /**
     * 按部门类型和骨干类型进行统计
     */
    public List<StatisDept> selectCountStatisByDeptAndUserType(String deptType);

    /**
     * 按部门类型和时间进行统计
     */
    public List<StatisDept> selectCountStatisByDeptAndDateInfo(String deptType);

    /**
     * PM按角色类型查询
     */
    List<StatisDept> selectCountPMStatisByProjectRole(Long userId);

    /**
     * PM按月查询
     */
    List<StatisDept> selectCountPMStatisByDateInfo(Long userId);
}
